Model, View, এবং Controller এর ভূমিকা

Microsoft Technologies - এএসপি ডট নেট কোর (ASP.Net Core) MVC আর্কিটেকচার (Model-View-Controller Architecture) |
214
214

ASP.NET Core অ্যাপ্লিকেশন তৈরি করার সময় MVC (Model-View-Controller) আর্কিটেকচার একটি খুবই জনপ্রিয় প্যাটার্ন। এটি অ্যাপ্লিকেশনের লজিক, ইউজার ইন্টারফেস এবং ডেটা ম্যানিপুলেশনকে পৃথক করে, যার ফলে কোডের রক্ষণাবেক্ষণ সহজ হয় এবং অ্যাপ্লিকেশনের স্কেলেবিলিটি বৃদ্ধি পায়। MVC প্যাটার্নের মূল তিনটি উপাদান হলো Model, View, এবং Controller। প্রতিটির ভুমিকা আলাদা এবং এটি অ্যাপ্লিকেশনের কার্যকারিতাকে সুসংগঠিত করে।


Model এর ভূমিকা

Model হল অ্যাপ্লিকেশনের ডেটা, লজিক এবং ব্যবসায়িক নিয়ম (business rules) পরিচালনা করার জন্য দায়ী। Model সাধারণত ডেটাবেসের সঙ্গে যোগাযোগ করে এবং তথ্য সংগ্রহ, আপডেট বা মুছে ফেলতে সাহায্য করে।

মূল বৈশিষ্ট্য:

  • ডেটা ম্যানিপুলেশন: Model অ্যাপ্লিকেশনের ডেটা তৈরি, পড়া, আপডেট এবং মুছে ফেলার কাজ করে। এটি ডেটাবেসের সাথে যোগাযোগ করতে পারে (যেমন Entity Framework Core ব্যবহার করে)।
  • ব্যবসায়িক লজিক: Model সাধারণত অ্যাপ্লিকেশনের ব্যবসায়িক লজিক বা rules ধারণ করে।
  • ডেটা স্ট্রাকচার: Model ক্লাসের মধ্যে ডেটা স্ট্রাকচার বা প্রপার্টি থাকতে পারে, যেমন User, Product, Order ইত্যাদি।

উদাহরণ:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

এখানে Product একটি Model যা ডেটাবেসে একটি প্রোডাক্টের তথ্য ধারণ করবে।


View এর ভূমিকা

View হল ইউজার ইন্টারফেসের অংশ, যা ইউজারের সাথে অ্যাপ্লিকেশনের ইন্টারঅ্যাকশন প্রদান করে। View মূলত HTML, CSS, এবং JavaScript এর মাধ্যমে ডেটা প্রেজেন্ট করে। View শুধুমাত্র ডিসপ্লে বা দেখানোর জন্য দায়ী এবং এর মধ্যে লজিকের কাজ খুবই সীমিত থাকে।

মূল বৈশিষ্ট্য:

  • ইউজার ইন্টারফেস: View ব্যবহারকারীকে উপস্থাপনা বা আউটপুট দেখায়।
  • ডেটা ডিসপ্লে: Model থেকে ডেটা নিয়ে View তা প্রেজেন্ট করে (যেমন Product এর নাম, দাম ইত্যাদি)।
  • UI নিয়ন্ত্রণ: View UI কম্পোনেন্ট যেমন টেবিল, ফর্ম, বাটন ইত্যাদি কন্ট্রোল করে।

উদাহরণ:

@model Product

<div>
    <h1>@Model.Name</h1>
    <p>Price: $@Model.Price</p>
</div>

এখানে Product Model এর ডেটা View-এ প্রদর্শিত হবে, যেমন প্রোডাক্টের নাম এবং দাম।


Controller এর ভূমিকা

Controller অ্যাপ্লিকেশনের ইনপুট গ্রহণ করে এবং Model এবং View-এর মধ্যে যোগাযোগ স্থাপন করে। Controller ইউজারের রিকোয়েস্টকে প্রোসেস করে, প্রয়োজনীয় ডেটা মডেল থেকে নিয়ে তা ভিউতে প্রেরণ করে। Controller অ্যাপ্লিকেশন লজিকের নিয়ন্ত্রণকারী।

মূল বৈশিষ্ট্য:

  • ইনপুট প্রসেসিং: Controller ইউজারের রিকোয়েস্ট গ্রহণ করে এবং তা প্রক্রিয়া করে।
  • ডেটা আপডেট এবং রিটার্ন: Controller ডেটাবেস বা মডেল থেকে ডেটা নিয়ে আসে এবং তা View-এ প্রেরণ করে।
  • রাউটিং: Controller রিকোয়েস্ট রাউটিং এবং রিকোয়েস্ট অনুযায়ী সঠিক অ্যাকশন নির্বাচন করে।

উদাহরণ:

public class ProductController : Controller
{
    private readonly IProductService _productService;

    public ProductController(IProductService productService)
    {
        _productService = productService;
    }

    public IActionResult Index()
    {
        var products = _productService.GetAllProducts();
        return View(products);
    }
}

এখানে ProductController ইউজারের রিকোয়েস্ট গ্রহণ করে এবং Product ডেটা Index View-এ পাঠায়।


Model, View, এবং Controller এর মধ্যে সম্পর্ক

  • Model ডেটা ধারণ করে এবং ব্যবসায়িক লজিক পরিচালনা করে।
  • View ব্যবহারকারীর কাছে ডেটা প্রদর্শন করে, তবে এর মধ্যে লজিক কম থাকে।
  • Controller ইউজারের ইনপুট প্রক্রিয়া করে এবং Model এবং View এর মধ্যে যোগাযোগ স্থাপন করে।

এই তিনটি উপাদান মিলে অ্যাপ্লিকেশনের কার্যকারিতা এবং রক্ষণাবেক্ষণ সহজ করে, কারণ তারা প্রতিটি স্তরের দায়িত্ব আলাদা করে দেয়, যা অ্যাপ্লিকেশনটিকে আরো স্কেলেবল এবং মডুলার করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion